def vigenere_cipher(message, key, decrypt=False):
    alphabet = "abcdefghijklmnopqrstuvwxyz"
    key_index = 0
    result = ""

    key_length = len(key) # Ensure the key is as long as the message
    message_length = len(message)
    if key_length < message_length:
        key = (key * (message_length // key_length + 1))[:message_length]
    
    
    for char in message:
        if char in alphabet:
            char_pos = alphabet.find(char)
            key_shift = alphabet.find(key[key_index])
            
            if decrypt:
                result += alphabet[(char_pos - key_shift) % len(alphabet)]
            else:
                result += alphabet[(char_pos + key_shift) % len(alphabet)]
            
            key_index = (key_index + 1) % key_length
        else:
            # Non-alphabet characters are added unchanged
            result += char
            
    return result

riddle = 'The key is under your butt.'

key = ''
print(vigenere_cipher('ghtkiqpsarpaibzunowuhvrpvcstp', key, decrypt=True))